home *** CD-ROM | disk | FTP | other *** search
/ Champak 132 / Vol 132.iso / games / nameless.swf / scripts / DefineSprite_3072 / frame_1 / DoAction.as
Text File  |  2011-06-09  |  7KB  |  286 lines

  1. if(!setVars)
  2. {
  3.    var moveSpeed = 3;
  4.    var addSpeed = 0.5;
  5.    var gravity = 0;
  6.    var maxGravity = 8;
  7.    var airSpeed = 0.5;
  8.    var dropped = false;
  9.    var active = false;
  10.    var xTar = 0;
  11.    xscale = _xscale;
  12.    var attacking = false;
  13.    var hitSound = new Sound();
  14.    var die = false;
  15.    hitSound.attachSound("punch5");
  16.    var removeNum = 100;
  17.    var melt = false;
  18.    var startX = _X;
  19.    var startY = _Y;
  20.    var bat = false;
  21.    var health = 2;
  22.    var mNum = 0;
  23.    var setVars = true;
  24. }
  25. stop();
  26. var getFrame = function()
  27. {
  28.    if(die == true)
  29.    {
  30.       frame = "die";
  31.    }
  32.    else if(melt == true)
  33.    {
  34.       frame = "melt";
  35.    }
  36.    else if(bat == true)
  37.    {
  38.       frame = "hit";
  39.    }
  40.    else if(running == false && attacking == false && falling == false)
  41.    {
  42.       frame = "stand";
  43.    }
  44.    else if(falling == true)
  45.    {
  46.       frame = "stand";
  47.    }
  48.    else if(running == true)
  49.    {
  50.       frame = "run";
  51.    }
  52.    else if(attacking == true)
  53.    {
  54.       frame = "attack";
  55.       g.stop();
  56.    }
  57.    gotoAndStop(frame);
  58. };
  59. var onEnterFrame = function()
  60. {
  61.    _root.checkVis(this);
  62.    if(_root.remake == true)
  63.    {
  64.       die = false;
  65.       melt = false;
  66.       removeNum = 100;
  67.       _X = startX;
  68.       _Y = startY;
  69.       active = false;
  70.       bat = false;
  71.       _visible = true;
  72.       _alpha = 100;
  73.       dropped = false;
  74.       health = 2;
  75.    }
  76.    if(_root.pauseMode == false)
  77.    {
  78.       if(active == true)
  79.       {
  80.          if(die == false && melt == false && bat == false)
  81.          {
  82.             if(_root.candy.hitTest(hit))
  83.             {
  84.                if(_root.candy.dir == "left")
  85.                {
  86.                   _root.candy.dir = "right";
  87.                }
  88.                else
  89.                {
  90.                   _root.candy.dir = "left";
  91.                }
  92.                hitSound.start();
  93.                hitSound.start();
  94.                if(health <= 0)
  95.                {
  96.                   die = true;
  97.                }
  98.                else
  99.                {
  100.                   health -= 1;
  101.                   bat = true;
  102.                }
  103.             }
  104.             else if(_root.cm.g.hit.hitTest(hit))
  105.             {
  106.                hitSound.start();
  107.                if(health <= 0)
  108.                {
  109.                   die = true;
  110.                }
  111.                else
  112.                {
  113.                   health -= 1;
  114.                   bat = true;
  115.                }
  116.             }
  117.             else if(_root.cm.g.sparkle.hitTest(hit))
  118.             {
  119.                melt = true;
  120.             }
  121.             if(attacking == false)
  122.             {
  123.                if(_root.cm._x > _X)
  124.                {
  125.                   _xscale = - xscale;
  126.                }
  127.                else if(_root.cm._x < _X)
  128.                {
  129.                   _xscale = xscale;
  130.                }
  131.             }
  132.             if(!bound.hitTest(_root.cm))
  133.             {
  134.                if(attacking == false)
  135.                {
  136.                   running = true;
  137.                   if(_root.cm._x > _X)
  138.                   {
  139.                      if(!_root.bound.hitTest(_X + xTar + addSpeed,_Y - 10,true))
  140.                      {
  141.                         xTar += addSpeed;
  142.                      }
  143.                   }
  144.                   else if(_root.cm._x < _X)
  145.                   {
  146.                      if(!_root.bound.hitTest(_X - xTar - addSpeed,_Y - 10,true))
  147.                      {
  148.                         xTar -= addSpeed;
  149.                      }
  150.                   }
  151.                }
  152.             }
  153.             else
  154.             {
  155.                running = false;
  156.                if(xTar > 0)
  157.                {
  158.                   xTar -= addSpeed;
  159.                }
  160.                else if(xTar < 0)
  161.                {
  162.                   xTar += addSpeed;
  163.                }
  164.                mNum++;
  165.                num = random(60);
  166.                if((num == 1 or mNum == 40) && attacking == false && falling == false && running == false)
  167.                {
  168.                   mNum = 0;
  169.                   attacking = true;
  170.                }
  171.             }
  172.          }
  173.          else
  174.          {
  175.             if(removeNum < 0)
  176.             {
  177.                if(_alpha > 0)
  178.                {
  179.                   _alpha = _alpha - 1;
  180.                }
  181.                else
  182.                {
  183.                   _visible = false;
  184.                }
  185.             }
  186.             else
  187.             {
  188.                removeNum -= 1;
  189.             }
  190.             if(xTar > 0)
  191.             {
  192.                xTar -= addSpeed;
  193.             }
  194.             else if(xTar < 0)
  195.             {
  196.                xTar += addSpeed;
  197.             }
  198.          }
  199.          if(xTar > moveSpeed)
  200.          {
  201.             xTar = moveSpeed;
  202.          }
  203.          else if(xTar < - moveSpeed)
  204.          {
  205.             xTar = - moveSpeed;
  206.          }
  207.          if(_root.bound.hitTest(_X,_Y + 1,true))
  208.          {
  209.             falling = false;
  210.          }
  211.          else
  212.          {
  213.             falling = true;
  214.          }
  215.          if(falling == true)
  216.          {
  217.             grav = 0;
  218.             switched = false;
  219.             i = 0;
  220.             while(i < gravity)
  221.             {
  222.                if(switched == false)
  223.                {
  224.                   if(_root.bound.hitTest(_X,_Y + i,true))
  225.                   {
  226.                      switched = true;
  227.                   }
  228.                   else
  229.                   {
  230.                      grav = i;
  231.                   }
  232.                }
  233.                i++;
  234.             }
  235.             _Y = _Y + i;
  236.             if(gravity < maxGravity)
  237.             {
  238.                gravity += airSpeed;
  239.             }
  240.          }
  241.          else
  242.          {
  243.             gravity = 0;
  244.          }
  245.          while(_root.bound.hitTest(_X,_Y - 0.5,true))
  246.          {
  247.             _Y = _Y - 0.5;
  248.          }
  249.          _X = _X + xTar;
  250.          if((die == true or melt == true) && g._currentframe == g._totalframes)
  251.          {
  252.             g.stop();
  253.          }
  254.          else
  255.          {
  256.             g.play();
  257.          }
  258.       }
  259.       if(_root.cam.hitTest(this))
  260.       {
  261.          active = true;
  262.       }
  263.       if(die == true && dropped == false)
  264.       {
  265.          if(_root.health < 100)
  266.          {
  267.             dropNum = random(5);
  268.             if(dropNum == 1)
  269.             {
  270.                _root.dropNum += 1;
  271.                _root.attachMovie("healthbox","healthbox" + _root.dropNum,_root.dropNum);
  272.                eval("_root.healthbox" + _root.dropNum)._x = _X;
  273.                eval("_root.healthbox" + _root.dropNum)._y = _Y;
  274.             }
  275.          }
  276.          dropped = true;
  277.       }
  278.    }
  279.    else
  280.    {
  281.       stop();
  282.       g.stop();
  283.    }
  284.    getFrame();
  285. };
  286.